// seg7.c

#include "seg7.h"
#include <stdio.h> 

void setSegNum(uint32_t seg1,uint32_t num1,uint32_t seg2,uint32_t num2)
{
    // select seg
    uint32_t select_seg = ((seg1<<2) + seg2);

    RegWrite(SEG7_SELECT, select_seg);
	
	//printf("num1 = 0x%08X, num2 = 0x%08X\n", num1, num2);
	
    // set num
    uint32_t num_seg = (((num2 & 0b1111) << 4) | (num1 & 0b1111));
	//特殊字符
	if (num1 > 15)
	{
		num_seg |= 0x100;
	}
	if (num2 > 15)
	{
		num_seg |= 0x200;
	}
	
	//printf("select_seg = 0x%08X, num_seg = 0x%08X\n", select_seg, num_seg);
	
    RegWrite(SEG7_NUM, num_seg);
}